const path = require('path');

function resolve(dir) {
  return path.join(__dirname, dir);
}
module.exports = {
  // 默认'/'，部署应用包时的基本 URL
  'publicPath': './',
  // 'dist', 生产环境构建文件的目录
  'outputDir': process.env.outputDir || 'dist',
  // 相对于outputDir的静态资源(js、css、img、fonts)目录
  'assetsDir': '',
  'lintOnSave': false,
  // 是否使用包含运行时编译器的 Vue 构建版本
  'runtimeCompiler': true,
  // 生产环境的 source map
  'productionSourceMap': false,
  'parallel': require('os').cpus().length > 1,
  'pwa': {},
  'chainWebpack': config => {
    // 配置别名
    config.resolve.alias
      .set('src', resolve('src'));
  },
  // 确保静态资源
  'configureWebpack': config => {
    config.resolve.extensions = ['.mjs', '.ts', '.tsx', '.js', '.jsx', '.vue', '.less', '.json',
      '.css'
    ];
  },
  'devServer': {
    'open': process.platform === 'darwin',
    'host': 'localhost',
    'port': 8009,
    'proxy': {
      '/remote': {
        'target': 'http://192.168.1.74:8848',
        'ws': true,
        'changOrigin': true,
        'pathRewrite': {
          '^/remote': ''
        }
      },
      '/api': {
        'target': 'http://192.168.9.2:3001',
        'ws': true,
        'changOrigin': true,
        'pathRewrite': {
          '^/api': ''
        }
      }
    }
  },
  'pluginOptions': {
    'style-resources-loader': {
      'preProcessor': 'less',
      'patterns': [
        resolve('src/assets/less/global.less')
      ]
    }
  }
};
